package com.seafood.service;

import com.seafood.common.PageResult;
import com.seafood.dto.*;

import java.util.Map;

/**
 * 管理员用户管理服务接口
 */
public interface AdminUserService {
    
    /**
     * 分页查询用户列表
     */
    PageResult<UserDTO> getUserList(UserQueryDTO queryDTO);
    
    /**
     * 获取用户详情
     */
    UserDTO getUserDetail(Long id);
    
    /**
     * 创建用户
     */
    UserDTO createUser(UserCreateDTO createDTO);
    
    /**
     * 更新用户信息
     */
    UserDTO updateUser(Long id, UserUpdateDTO updateDTO);
    
    /**
     * 更新用户状态
     */
    void updateUserStatus(Long id, UserStatusUpdateDTO statusUpdateDTO);
    
    /**
     * 重置用户密码
     */
    String resetUserPassword(Long id);
    
    /**
     * 删除用户
     */
    void deleteUser(Long id);
    
    /**
     * 获取用户统计信息
     */
    Map<String, Object> getUserStatistics();
    
    /**
     * 批量更新用户状态
     */
    void batchUpdateUserStatus(UserStatusUpdateDTO statusUpdateDTO);

    Long getUserIdByName(String username);
}